package com.mrjy.common.entity;

import com.mrjy.common.util.ExcelField;
import com.mrjy.common.util.PolyvTokenUtil;

import java.sql.Timestamp;

/**
 * 视频信息表
 */
public class VideoInfo extends BaseEntity {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 3187158783753468614L;
	//
	@ExcelField(title="序号")
	private Integer id;
	//视频的代码
	private String videoCode;
	//视频的名称
	@ExcelField(title="标题")
	private String videoName;
	//视频描述
	@ExcelField(title="简介")
	private String videoDesc;
	//微课单价
	@ExcelField(title="单价")
	private Double originalPrice; 
	//视频的类型名
	@ExcelField(title="标签")
	private String typeName;
	//文件的大小
	@ExcelField(title="大小")
	private Float fileSize;
	//视频时间
	@ExcelField(title="时长")
	private String duration;
	//用户名
	@ExcelField(title="明师")
	private String userName;
	@ExcelField(title="添加时间")
	private String createTimeString;
	
	@ExcelField(title="更新时间")
	private String updateTimeString;
	//视频播放时间
	@ExcelField(title="播放量")
	private Integer playTimes;

	//创建时间
	private Long createTime;
	//更新时间
	private Long updateTime;
	
	//更新日期
	private String updateDate;
	//可用标识
	private Integer freeFlag;
	//热门标识
	private Integer hotFlag;
	//用户ID
	private Integer userId;
	//用户图像
	private String userPic;
	//用户描述
	private String userDesc;
	//视频 的类型ID
	private Integer typeId;
	//预订数量
	private Integer orderNum;
	private String picName;//旧的视频封面图片路径
	
	private Integer disabledFlag; // 
	
	//年级的ID
	private Integer gradeId;
	
	private Integer[] typeIds;
	
	private String coverUrl;//视频封面图片路径
	
	//搜索时间条件，不做数据库操作
	private String startTimeStr;
	private String endTimeStr;
	
	/**
	 * 视频总数（用于查询，不保存数据库）
	 */
	private Integer totalCount;
	/**
	 * sortType 排序类型，用于最新最热排序使用  new:最新 ， hot:最火 ,  notseen:用户未观看
	 */
	private String sortType ;
	//视频的评论数
	private Integer commentNum;
	
	//视频时长秒数
	private int durationInt;
	
	//视频点击量
	private int clickCount;
	
	//最新一条评论内容
	private String commentContent;
	//评论人
	private String commentName;
	
	//观看进度(跟用户绑定)
	private double viewProgress;
	//是否看完(跟用户绑定)
	private String isFinish;
	//最后观看的时间节点
	private String lastViewDuration;
	
	//保利威视接口信息
    private PolyInfo polyInfo;

    //语音权限（0：没有 1：开通）
    private Integer recordAuthority;
    
    //视频会员到期时间
    private String expireTimeString;  
    
    //是否是微课会员  0:非会员  1:会员
    private String isVipStatus;
    
    //发布时间 接收前端
    private String releaseTimeString;
    //发布时间
    private Timestamp releaseTime;
    
    //是否发布  0:已发布  1:未发布
    private Integer releaseFlag;

    //音频
    private String audioCode;

    //codes (音频码 和 视频码)
    private String[] vids;

    //原视频名称
    private String originalVideoName;

    //token_obj
    private PolyvTokenUtil polyvTokenUtil;

    private String headImgUrl;

    //音频观看进度(跟用户绑定)
    private double viewProgressAudio;
    //音频是否看完(跟用户绑定)
    private String isFinishAudio;
    //音频最后观看的时间节点
    private String lastViewDurationAudio;

    //custom_module id
    private Integer customTypeId;

    //是否被订阅
    private Integer isHasSub;

    private Integer teacherId;

    private Integer weclassIsFinish;
    //是否特价 0-否 1-是
    private String isSpecial;

    //通知时间
    private Timestamp announcementTime;

    private String announcementTimeStr;

    private Integer announcementFlag;

    private Timestamp expireTime; //过期时间
    
    //微课通知头部描述
  	private String noticeTitleDesc ;
  	//微课通知尾部描述
  	private String noticeFootDesc ;

    public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getVideoCode() {
		return videoCode;
	}
	public void setVideoCode(String videoCode) {
		this.videoCode = videoCode;
	}
	public String getVideoName() {
		return videoName;
	}
	public void setVideoName(String videoName) {
		this.videoName = videoName;
	}
	public String getVideoDesc() {
		return videoDesc;
	}
	public void setVideoDesc(String videoDesc) {
		this.videoDesc = videoDesc;
	}
	public Float getFileSize() {
		return fileSize;
	}
	public void setFileSize(Float fileSize) {
		this.fileSize = fileSize;
	}
	public String getDuration() {
		return duration;
	}
	public void setDuration(String duration) {
		this.duration = duration;
	}
	public Long getCreateTime() {
		return createTime;
	}
	public void setCreateTime(Long createTime) {
		this.createTime = createTime;
	}
	public Integer getFreeFlag() {
		return freeFlag;
	}
	public void setFreeFlag(Integer freeFlag) {
		this.freeFlag = freeFlag;
	}
	public Integer getHotFlag() {
		return hotFlag;
	}
	public void setHotFlag(Integer hotFlag) {
		this.hotFlag = hotFlag;
	}
	public Integer getUserId() {
		return userId;
	}
	public void setUserId(Integer userId) {
		this.userId = userId;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getUserPic() {
		return userPic;
	}
	public void setUserPic(String userPic) {
		this.userPic = userPic;
	}
	public String getUserDesc() {
		return userDesc;
	}
	public void setUserDesc(String userDesc) {
		this.userDesc = userDesc;
	}
	public Integer getTypeId() {
		return typeId;
	}
	public void setTypeId(Integer typeId) {
		this.typeId = typeId;
	}
	public String getTypeName() {
		return typeName;
	}
	public void setTypeName(String typeName) {
		this.typeName = typeName;
	}
	public Integer getGradeId() {
		return gradeId;
	}
	public void setGradeId(Integer gradeId) {
		this.gradeId = gradeId;
	}
	public Integer getOrderNum() {
		return orderNum;
	}
	public void setOrderNum(Integer orderNum) {
		this.orderNum = orderNum;
	}
	public String getPicName() {
		return picName;
	}
	public void setPicName(String picName) {
		this.picName = picName;
	}
	public String getCoverUrl() {
		return coverUrl;
	}
	public void setCoverUrl(String coverUrl) {
		this.coverUrl = coverUrl;
	}
	public Integer getTotalCount() {
		return totalCount;
	}
	public void setTotalCount(Integer totalCount) {
		this.totalCount = totalCount;
	}
	public String getSortType() {
		return sortType;
	}
	public void setSortType(String sortType) {
		this.sortType = sortType;
	}

	public Integer getDisabledFlag() {
		return disabledFlag;
	}
	public void setDisabledFlag(Integer disabledFlag) {
		this.disabledFlag = disabledFlag;
	}
	
	public String getStartTimeStr() {
		return startTimeStr;
	}
	public void setStartTimeStr(String startTimeStr) {
		this.startTimeStr = startTimeStr;
	}
	public String getEndTimeStr() {
		return endTimeStr;
	}
	public void setEndTimeStr(String endTimeStr) {
		this.endTimeStr = endTimeStr;
	}
	public String getCreateTimeString() {
		return createTimeString;
	}
	public void setCreateTimeString(String createTimeString) {
		this.createTimeString = createTimeString;
	}
	public int getDurationInt() {
		return durationInt;
	}
	public void setDurationInt(int durationInt) {
		this.durationInt = durationInt;
	}
	public int getClickCount() {
		return clickCount;
	}
	public void setClickCount(int clickCount) {
		this.clickCount = clickCount;
	}
	public String getCommentName() {
		return commentName;
	}
	public void setCommentName(String commentName) {
		this.commentName = commentName;
	}
	public String getCommentContent() {
		return commentContent;
	}
	public void setCommentContent(String commentContent) {
		this.commentContent = commentContent;
	}
	public double getViewProgress() {
		return viewProgress;
	}
	public void setViewProgress(double viewProgress) {
		this.viewProgress = viewProgress;
	}
	public String getIsFinish() {
		return isFinish;
	}
	public void setIsFinish(String isFinish) {
		this.isFinish = isFinish;
	}
	public String getLastViewDuration() {
		return lastViewDuration;
	}
	public void setLastViewDuration(String lastViewDuration) {
		this.lastViewDuration = lastViewDuration;
	}
	public Integer getPlayTimes() {
		return playTimes;
	}
	public void setPlayTimes(Integer playTimes) {
		this.playTimes = playTimes;
	}
	public Integer getCommentNum() {
		return commentNum;
	}
	public void setCommentNum(Integer commentNum) {
		this.commentNum = commentNum;
	}
	public PolyInfo getPolyInfo() {
		return polyInfo;
	}
	public void setPolyInfo(PolyInfo polyInfo) {
		this.polyInfo = polyInfo;
	}


    public Integer getRecordAuthority() {
        return recordAuthority;
    }

    public void setRecordAuthority(Integer recordAuthority) {
        this.recordAuthority = recordAuthority;
    }
	public String getUpdateTimeString() {
		return updateTimeString;
	}
	public void setUpdateTimeString(String updateTimeString) {
		this.updateTimeString = updateTimeString;
	}
	public Long getUpdateTime() {
		return updateTime;
	}
	public void setUpdateTime(Long updateTime) {
		this.updateTime = updateTime;
	}
	public String getUpdateDate() {
		return updateDate;
	}
	public void setUpdateDate(String updateDate) {
		this.updateDate = updateDate;
	}
	public String getExpireTimeString() {
		return expireTimeString;
	}
	public void setExpireTimeString(String expireTimeString) {
		this.expireTimeString = expireTimeString;
	}
	public String getIsVipStatus() {
		return isVipStatus;
	}
	public void setIsVipStatus(String isVipStatus) {
		this.isVipStatus = isVipStatus;
	}
	public String getReleaseTimeString() {
		return releaseTimeString;
	}
	public void setReleaseTimeString(String releaseTimeString) {
		this.releaseTimeString = releaseTimeString;
	}
	public Timestamp getReleaseTime() {
		return releaseTime;
	}
	public void setReleaseTime(Timestamp releaseTime) {
		this.releaseTime = releaseTime;
	}
	public Integer getReleaseFlag() {
		return releaseFlag;
	}
	public void setReleaseFlag(Integer releaseFlag) {
		this.releaseFlag = releaseFlag;
	}
	public Double getOriginalPrice() {
		return originalPrice;
	}
	public void setOriginalPrice(Double originalPrice) {
		this.originalPrice = originalPrice;
	}

    public String getAudioCode() {
        return audioCode;
    }

    public void setAudioCode(String audioCode) {
        this.audioCode = audioCode;
    }

    public String[] getVids() {
        return vids;
    }

    public void setVids(String[] vids) {
        this.vids = vids;
    }

    public String getOriginalVideoName() {
        return originalVideoName;
    }

    public void setOriginalVideoName(String originalVideoName) {
        this.originalVideoName = originalVideoName;
    }
	public Integer[] getTypeIds() {
		return typeIds;
	}
	public void setTypeIds(Integer[] typeIds) {
		this.typeIds = typeIds;
	}

    public PolyvTokenUtil getPolyvTokenUtil() {
        return polyvTokenUtil;
    }

    public void setPolyvTokenUtil(PolyvTokenUtil polyvTokenUtil) {
        this.polyvTokenUtil = polyvTokenUtil;
    }

    public String getHeadImgUrl() {
        return headImgUrl;
    }

    public void setHeadImgUrl(String headImgUrl) {
        this.headImgUrl = headImgUrl;
    }

    public double getViewProgressAudio() {
        return viewProgressAudio;
    }

    public void setViewProgressAudio(double viewProgressAudio) {
        this.viewProgressAudio = viewProgressAudio;
    }

    public String getIsFinishAudio() {
        return isFinishAudio;
    }

    public void setIsFinishAudio(String isFinishAudio) {
        this.isFinishAudio = isFinishAudio;
    }

    public String getLastViewDurationAudio() {
        return lastViewDurationAudio;
    }

    public void setLastViewDurationAudio(String lastViewDurationAudio) {
        this.lastViewDurationAudio = lastViewDurationAudio;
    }

    public Integer getCustomTypeId() {
        return customTypeId;
    }

    public void setCustomTypeId(Integer customTypeId) {
        this.customTypeId = customTypeId;
    }

    public Integer getIsHasSub() {
        return isHasSub;
    }

    public void setIsHasSub(Integer isHasSub) {
        this.isHasSub = isHasSub;
    }

    public Integer getTeacherId() {
        return teacherId;
    }

    public void setTeacherId(Integer teacherId) {
        this.teacherId = teacherId;
    }

    public Integer getWeclassIsFinish() {
        return weclassIsFinish;
    }

    public void setWeclassIsFinish(Integer weclassIsFinish) {
        this.weclassIsFinish = weclassIsFinish;
    }
	public String getIsSpecial() {
		return isSpecial;
	}
	public void setIsSpecial(String isSpecial) {
		this.isSpecial = isSpecial;
	}

    public Integer getAnnouncementFlag() {
        return announcementFlag;
    }

    public void setAnnouncementFlag(Integer announcementFlag) {
        this.announcementFlag = announcementFlag;
    }

    public String getAnnouncementTimeStr() {
        return announcementTimeStr;
    }

    public void setAnnouncementTimeStr(String announcementTimeStr) {
        this.announcementTimeStr = announcementTimeStr;
    }

    public Timestamp getAnnouncementTime() {
        return announcementTime;
    }

    public void setAnnouncementTime(Timestamp announcementTime) {
        this.announcementTime = announcementTime;
    }

    public Timestamp getExpireTime() {
        return expireTime;
    }

    public void setExpireTime(Timestamp expireTime) {
        this.expireTime = expireTime;
    }
	public String getNoticeTitleDesc() {
		return noticeTitleDesc;
	}
	public void setNoticeTitleDesc(String noticeTitleDesc) {
		this.noticeTitleDesc = noticeTitleDesc;
	}
	public String getNoticeFootDesc() {
		return noticeFootDesc;
	}
	public void setNoticeFootDesc(String noticeFootDesc) {
		this.noticeFootDesc = noticeFootDesc;
	}
    
}

